Match

Entity-Related Operation Statement

Syntax samples

MATCH <attribute>

MATCH Attr1

Description

Causes the current entity to wait until the value of the specified attribute matches the value of another entity’s same attribute. Both entities must have a corresponding MATCH statement specified for the same attribute name. The two entities may be at any location in the model, including the same location and two completely unrelated locations. Therefore, the value of the attribute to MATCH should almost always be assigned to the value of a global variable incremented for each entity that will be matched, as in the following example.

Locations using the MATCH statement usually should be multi-capacity because otherwise they would not be able to process any other entities until the MATCH was made. Additionally, locations using MATCH usually should be non-queuing to allow the entities to move out of sequence when the MATCH is fulfilled.

Use the MATCH statement to pair two specific parts before assembling them, or to match a work order to a completed job.

Valid In

The operation column of process edit tables only.

Components

<attribute>

Any attribute associated with the processing entity.

Example

You can use a MATCH to recombine the parts of an entity which has been split using multiple routing blocks. In the example below, every time an EntAB arrives at the location, the variable Count increments. ProModel assigns Attr1 for EntAB the value of count, which ensures that each EntAB will have a unique value for Attr1. Additionally, when each EntAB is split into EntA and EntB, both of the resulting entities, (EntA and EntB) will have the same value for Attr1. EntA and EntB then travel independently through their respective processing steps, denoted by the ellipses. Finally, EntA and EntB arrive at Loc10A and Loc10B respectively, where each piece must wait for its matching half to arrive before consolidating the entities with the JOIN construct.

Process Table

Entity

Location

Operation (min)

EntAB

Loc1

INC Count

Attr1= Count

EntA

Loc2

...

EntA

Loc10A

MATCH Attr1

EntB

Loc3

...

EntB

Loc10B

MATCH Attr1

JOIN 1 EntA

Routing Table

Blk

Output

Destination

Rule

Move Logic

1

EntA

Loc2

FIRST 1

MOVE FOR 5

2

EntB

Loc3

FIRST 1

MOVE FOR 5

...

...

...

...

...

1

EntA

Loc10B

JOIN 1

MOVE FOR 30 sec

...

...

...

...

...

1

EntAB

Loc11

FIRST 1

MOVE FOR 5

See Also

WAIT...UNTIL and LOAD.